home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #11 / Amiga Plus CD - 2004 - No. 11.iso / AmiSoft / Text / misc / APLKonwerter.lha / APLKonwerter.rexx < prev    next >
OS/2 REXX Batch file  |  2004-08-13  |  8KB  |  274 lines

  1. /* AmigaPL Konwerter by Mario (AMario@wp.pl), $VER: APLKonwerter 1.0
  2.     Freeware... but do not publish modyfied code! */
  3.  
  4. signal on halt
  5. signal on break_c
  6.  
  7. call init
  8. call createApp
  9. call handleApp
  10.  
  11. /***********************************************************************/
  12. init: procedure
  13.     l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit
  14.     if AddLibrary("rxmui.library")~=0 then exit
  15.     call ProgDir()
  16.     return
  17. /***********************************************************************/
  18. handleApp: procedure
  19.     ctrl_c=2**12
  20.     do forever
  21.         call newhandle("APP","H",ctrl_c)
  22.         if and(h.signals,ctrl_c)>0 then exit
  23.         select
  24.             when h.event="QUIT" then exit
  25.             otherwise interpret h.event
  26.         end
  27.     end
  28. /***********************************************************************/
  29. createApp: procedure
  30.  
  31. app.Title="APLKonwerter"
  32.  
  33. app.Description="Przykîadowa aplikacja"
  34. app.Base="APLKonwerter"
  35. app.SubWindow="win"
  36. win.ID="MAIN"
  37. win.Title="APLKonwerter"
  38. win.nomenus=1
  39. win.Contents="group"
  40.  
  41. inf.class="string"
  42. inf.advanceoncr=1
  43. inf.frame="Text"
  44. inf.reject="?#"
  45. ouf.class="string"
  46. ouf.advanceoncr=1
  47. ouf.frame="Text"
  48. ouf.reject="?#"
  49.  
  50. group.0="info1"
  51. info1.class="text"
  52. info1.contents="Plik zrodlowy:"
  53. group.1="popin"
  54. popin.class="popasl"
  55. popin.sleepapplication=1
  56. popin.string="inf"
  57. popin.type="file"
  58. popin.title="Wybierz plik..."
  59. popin.rejecticons=1
  60. popin.showvolumes=1
  61.  
  62. group.2="info2"
  63. info2.class="text"
  64. info2.contents="Plik docelowy:"
  65. group.3="popou"
  66. popou.class="popasl"
  67. popou.sleepapplication=1
  68. popou.string="ouf"
  69. popou.type="file"
  70. popou.title="Wybierz plik docelowy..."
  71. popou.rejecticons=1
  72. popou.showvolumes=1
  73. popou.dosavemode=1
  74.  
  75. group.4=HBar(0)
  76. group.5="otr"
  77. otr.class="group"
  78. otr.Frame="Group"
  79. otr.BackGround="GroupBack"
  80. otr.FrameTitle="Rodzaj konwersji:"
  81. otr.0="tryb"
  82. tryb.class="radio"
  83. tryb.entries="AmigaPL -> Windows|Windows -> AmigaPL"
  84.  
  85. group.6="opc"
  86. opc.class="group"
  87. opc.Frame="Group"
  88. opc.BackGround="GroupBack"
  89. opc.FrameTitle="Opcje dodatkowe:"
  90. opc.0="opcja"
  91. opcja.class="radio"
  92. opcja.entries="Caîkowita konwersja|Nie zmieniaj returnow|Zmieniaj tylko returny|Usuwaj polskie litery"
  93.  
  94. group.7=HBar(0)
  95. group.8=button("go","_Start!")
  96.  
  97. call NewObj("Application","app")
  98.  
  99. call Notify("win","CloseRequest",1,"app","ReturnID","quit")
  100. call Notify("go","Pressed",0,"app","Return","call konwersja")
  101.  
  102. call set("win","Open",1)
  103.  
  104. /*call domethod("group",initchange)
  105.  
  106. call domethod("group",exitchange)*/
  107.  
  108. return
  109. /***********************************************************************/
  110. halt:
  111. break_c:
  112.     exit
  113. /***********************************************************************/
  114. konwersja:
  115. get.0="inf"
  116. get.0.attr="Contents"
  117. get.1="ouf"
  118. get.1.attr="Contents"
  119. get.2="tryb"
  120. get.2.attr="Active"
  121. get.3="opcja"
  122. get.3.attr="Active"
  123. call MultiGetAttr("get")
  124. if get.0.value="" then
  125. do
  126.   temp=muirequest("app","win","A plik?","Juz podaje...","Nie podales zadnej nazwy pliku zrodlowego!")
  127.   return
  128. end
  129. if exists(get.0.value)=0 then
  130. do
  131.   temp=muirequest("app","win","Nie ma takiego pliku!","Spokojnie...","Podana nazwa pliku zrodlowego jest nieprawidlowa!")
  132.   return
  133. end
  134. if get.1.value="" then
  135. do
  136.   temp=muirequest("app","win","A plik?","Juz podaje...","Nie podales zadnej nazwy pliku docelowego!")
  137.   return
  138. end 
  139. if get.0.value=get.1.value then
  140. do
  141.   temp=muirequest("app","win","Bîâd!","OK","Niestety plik zrodlowy i docelowy musi byc rozny.")
  142.   return
  143. end
  144. if ((get.1.value~="con:") & exists(get.1.value)=1) then
  145. do
  146.   temp=muirequest("app","win","Komunikat","Nadpisz|Anuluj","Plik docelowy juz istnieje. Nadpisac go?")  
  147.   if temp=0 then return
  148. end
  149. if open("wej",get.0.value,"R")~=1 then
  150. do
  151.   temp=muirequest("app","win","Bîâd!","OK","Nie moge otworzyc pliku zrodlowego!")
  152.   return
  153. end
  154. if open("wyj",get.1.value,"W")~=1 then
  155. do
  156.   temp=muirequest("app","win","Bîâd!","OK","Nie moge otworzyc pliku docelowego!")
  157.   return
  158. end
  159. call domethod("group",initchange)
  160. temp=remove("go")
  161. temp=set("win","title","Czekaj...")
  162. call domethod("group",exitchange)
  163. /* Poczatek procedury konwersji pliku */
  164. do until eof("wej")
  165. literka=readch("wej")
  166. if get.2.value=0 then
  167. do
  168.   /*AmigaPL -> Windows*/
  169.   if get.3.value<2 then
  170.   do
  171.     if c2d(literka)=226 then literka=d2c(185)
  172.     if c2d(literka)=234 then literka=d2c(230)
  173.     if c2d(literka)=235 then literka=d2c(234)
  174.     if c2d(literka)=238 then literka=d2c(179)
  175.     if c2d(literka)=239 then literka=d2c(241)
  176.     if c2d(literka)=244 then literka=d2c(156)
  177.     if c2d(literka)=251 then literka=d2c(191)
  178.     if c2d(literka)=250 then literka=d2c(159)
  179.     if c2d(literka)=194 then literka=d2c(165)
  180.     if c2d(literka)=202 then literka=d2c(198)
  181.     if c2d(literka)=203 then literka=d2c(202)
  182.     if c2d(literka)=206 then literka=d2c(163)
  183.     if c2d(literka)=207 then literka=d2c(209)
  184.     if c2d(literka)=212 then literka=d2c(140)
  185.     if c2d(literka)=219 then literka=d2c(175)
  186.     if c2d(literka)=218 then literka=d2c(143)
  187.   end
  188.   if get.3.value=3 then
  189.   do
  190.     if c2d(literka)=226 then literka=d2c(97)
  191.     if c2d(literka)=234 then literka=d2c(99)
  192.     if c2d(literka)=235 then literka=d2c(101)
  193.     if c2d(literka)=238 then literka=d2c(108)
  194.     if c2d(literka)=239 then literka=d2c(110)
  195.     if c2d(literka)=243 then literka=d2c(111)
  196.     if c2d(literka)=244 then literka=d2c(115)
  197.     if c2d(literka)=251 then literka=d2c(122)
  198.     if c2d(literka)=250 then literka=d2c(122)
  199.     if c2d(literka)=194 then literka=d2c(65)
  200.     if c2d(literka)=202 then literka=d2c(67)
  201.     if c2d(literka)=203 then literka=d2c(69)
  202.     if c2d(literka)=206 then literka=d2c(76)
  203.     if c2d(literka)=207 then literka=d2c(78)
  204.     if c2d(literka)=211 then literka=d2c(79)
  205.     if c2d(literka)=212 then literka=d2c(83)
  206.     if c2d(literka)=219 then literka=d2c(90)
  207.     if c2d(literka)=218 then literka=d2c(90)
  208.   end
  209.   if (get.3.value~=1) & (c2d(literka)=10) then
  210.   do
  211.     literka=d2c(13)
  212.     temp=writech("wyj",literka)
  213.     literka=d2c(10)
  214.   end
  215. end
  216. if get.2.value=1 then
  217. do
  218.   /*Windows -> AmigaPL*/
  219.   if get.3.value<2 then
  220.   do
  221.     if c2d(literka)=185 then literka=d2c(226)
  222.     if c2d(literka)=234 then literka=d2c(235)
  223.     if c2d(literka)=230 then literka=d2c(234)
  224.     if c2d(literka)=179 then literka=d2c(238)
  225.     if c2d(literka)=241 then literka=d2c(239)
  226.     if c2d(literka)=156 then literka=d2c(244)
  227.     if c2d(literka)=191 then literka=d2c(251)
  228.     if c2d(literka)=159 then literka=d2c(250)
  229.     if c2d(literka)=165 then literka=d2c(194)
  230.     if c2d(literka)=202 then literka=d2c(203)
  231.     if c2d(literka)=198 then literka=d2c(202)
  232.     if c2d(literka)=163 then literka=d2c(206)
  233.     if c2d(literka)=209 then literka=d2c(207)
  234.     if c2d(literka)=140 then literka=d2c(212)
  235.     if c2d(literka)=175 then literka=d2c(219)
  236.     if c2d(literka)=143 then literka=d2c(218)
  237.   end
  238.   if get.3.value=3 then
  239.   do
  240.     if c2d(literka)=185 then literka=d2c(97)
  241.     if c2d(literka)=230 then literka=d2c(99)
  242.     if c2d(literka)=234 then literka=d2c(101)
  243.     if c2d(literka)=179 then literka=d2c(108)
  244.     if c2d(literka)=241 then literka=d2c(110)
  245.     if c2d(literka)=243 then literka=d2c(111)
  246.     if c2d(literka)=156 then literka=d2c(115)
  247.     if c2d(literka)=191 then literka=d2c(122)
  248.     if c2d(literka)=159 then literka=d2c(122)
  249.     if c2d(literka)=165 then literka=d2c(65)
  250.     if c2d(literka)=202 then literka=d2c(69)
  251.     if c2d(literka)=198 then literka=d2c(67)
  252.     if c2d(literka)=163 then literka=d2c(76)
  253.     if c2d(literka)=209 then literka=d2c(78)
  254.     if c2d(literka)=211 then literka=d2c(79)
  255.     if c2d(literka)=140 then literka=d2c(83)
  256.     if c2d(literka)=175 then literka=d2c(90)
  257.     if c2d(literka)=143 then literka=d2c(90)
  258.   end
  259. end
  260. if get.2.value=0 then temp=writech("wyj",literka)
  261. if (get.2.value=1) & (get.3.value=1) then temp=writech("wyj",literka)
  262. if (get.2.value=1) & (get.3.value~=1) then
  263. do
  264.   if c2d(literka)~=13 then temp=writech("wyj",literka)
  265. end
  266. end
  267. /* Koniec procedury konwersji pliku */
  268. temp=close("wyj")
  269. temp=close("wej")
  270. call domethod("group",initchange)
  271. temp=add("group","go")
  272. temp=set("win","title","APLKonwerter")
  273. call domethod("group",exitchange)
  274. return